import java.io.File;
import java.util.Scanner;

public class demo11 {

    //实现：扫描指定目录，并找到指定字符的普通文件，并且后续询问是否删除该文件

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入想要查找的目录路径: ");
        //如果路径上有空格 就必须用 nextLine
        String rootDir = scanner.nextLine();
        File rootFile = new File(rootDir);
        if(!rootFile.isDirectory()) {
            System.out.println("输入的不是目录");
            return;
        }
        System.out.println("输入想要删除的文件关键字: ");
        String rootName = scanner.nextLine();

        scanDir(rootFile,rootName);
    }

    private static void scanDir(File rootFile, String rootName) {
        //将目录下包含的内容列出来
        File[] files = rootFile.listFiles();
        if(files == null) {
            //判断是否为空
            return;
        }
        //遍历目录的内容
        for(File file : files) {
            //如果是文件
            if(file.isFile()) {
                delFile(file,rootName);
            }else {
                scanDir(file,rootName);
            }
        }
    }

    private static void delFile(File file, String rootName) {
        if (file.getName().contains(rootName)) {
            System.out.println("发现文件" + file.getAbsolutePath() + "包含关键字！是否删除（y / n）");
            Scanner in = new Scanner(System.in);
            String input = in.next();
            if(input.equalsIgnoreCase("y")) {
                boolean ret = file.delete();
                if(ret) {
                    System.out.println("文件删除成功！");
                }
            }
        }
    }
}
